﻿#pragma once
#include <list>

#include "../input_handler.h"

class WubiSchemeMgr;
class WubiUIServer;

// 五笔输入法处理类，实现InputHandler接口
class WubiHandler : public InputHandler {
public:
    WubiHandler();
    ~WubiHandler() override;
    virtual void getCandidates(
        const char* input_code,  //输入的字符
        std::vector<std::string>& out_candidates  //输出的候选词，候选词个数由输入法方案中的候选词数量决定，
    ) override;


    bool showUI() override; //显示UI
    bool init() override; //初始化
    bool release() override; //释放资源

protected:
    std::shared_ptr<WubiSchemeMgr> _wubi_scheme; //五笔方案管理器
    std::shared_ptr<WubiUIServer> _ui_server; //UI服务器
};